<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>

    //promise1 我们要把它设计成一个状态机来代表第一次请求成功与否
    var promise1 = new Promise((resolve, reject)=>{
        setTimeout(function (flag,data) {
            console.log("第一次請求成功")
            if(flag){
                resolve(data)
            }else{
                reject()
            }
        },1000,true,"第一次的数据")
    })

    //promise2 我们要把它设计成一个状态机来代表第二次请求成功与否
    //promise1.then 返回的promise默认就是pending状态
    var promise2 =  promise1.then((data)=>{
        return new Promise((resolve, reject)=>{
            setTimeout(function (flag,data,data2) {
                if(flag){
                    console.log("第二次請求成功",data)
                    resolve(data2)
                }else{
                    reject()
                }
            },1000,true,data,"第二次的数据")
        })
    })

    promise2.then((data)=>{
        setTimeout(function (flag,data) {
            if(flag){
                console.log("第三次請求成功",data)
            }
        },1000,true,data)
    })




    /*setTimeout(function (flag) {
        //如果flag为true代表第一次数据请求成功
        if(flag){
            //当上一次请求成功之后 我们要拿到上一次请求的数据 重新发送第二次请求 去获取更多的数据
            console.log("第一次請求成功")
            setTimeout(function (flag) {
                console.log("第二次請求成功")
                if(flag){
                    setTimeout(function (flag) {
                        console.log("第三次請求成功")
                        // ...
                    },1000,flag)
                }
            },1000,flag)
        }
    },1000,true)*/
</script>
</html>